package org.android.brasil.projetos.oktoberfest2011.utils;

import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class DataUtil {

	// retorna o dia da semana dada uma data
	public static String retornarDiaSemana(int ano, int mes, int dia) {

		Calendar calendario = new GregorianCalendar(ano, mes, dia);
		int diaSemana = calendario.get(Calendar.DAY_OF_WEEK);

		return pesquisarDiaSemana(diaSemana);
	}

	// faz a pesquisa, dado um inteiro de 1 a 7
	private static String pesquisarDiaSemana(int _diaSemana) {
		String diaSemana = null;

		switch (_diaSemana) {

		case 1: {
			diaSemana = "Domingo";
			break;
		}
		case 2: {
			diaSemana = "Segunda-Feira";
			break;
		}
		case 3: {
			diaSemana = "Terça-Feira";
			break;
		}
		case 4: {
			diaSemana = "Quarta-Feira";
			break;
		}
		case 5: {
			diaSemana = "Quinta-Feira";
			break;
		}
		case 6: {
			diaSemana = "Sexta-Feira";
			break;
		}
		case 7: {
			diaSemana = "Sábado";
			break;
		}

		}
		return diaSemana;

	}

	public static String retornarMesDoAno(int mes) {
		
		
		String retorno = null;

		switch (mes) {

		case 0:
			retorno = "Janeiro";
			break;

		case 1:
			retorno = "Fevereiro";
			break;

		case 2:
			retorno = "Março";
			break;

		case 3:
			retorno = "Abril";
			break;

		case 4:
			retorno = "Maio";
			break;

		case 5:
			retorno = "Junho";
			break;

		case 6:
			retorno = "Julho";
			break;

		case 7:
			retorno = "Agosto";
			break;

		case 8:
			retorno = "Setembro";
			break;

		case 9:
			retorno = "Outubro";
			break;

		case 10:
			retorno = "Novembro";
			break;

		case 11:
			retorno = "Dezembro";
			break;

		}
		return retorno;

	}

	public static boolean ehHoje(int dia) {
		if ((Calendar.getInstance().get(Calendar.YEAR) == Constantes.ANO_DA_OKTOBERFEST)
				&& (Calendar.getInstance().get(Calendar.MONTH) == Constantes.CALENDAR_MES_DA_OKTOBERFEST)
				&& (Calendar.getInstance().get(Calendar.DAY_OF_MONTH) == dia)) {
			return true;
		}
		return false;
	}

	public static String formatarHora(float hora) {
		return new DecimalFormat("00.00").format(hora).replaceAll(",", "h").replaceAll("\\.", "h");
	}

}
